/**
 * @Author       : Mo 2427995270@qq.com
 * @Date         : 2025-04-23 23:34:37
 * @LastEditTime : 2025-08-22 13:45:28
 * @FilePath     : \GD32F407-DEMO\apps\main.c
 * @Description  :
 * @Version      : V1.0
 * @History      :
 * @Note         :
 */
/***************************************Includes***********************************/

// clang-format off

#include "FreeRTOS.h"
#include "gd32f4xx.h"
#include "systick.h"
#include "task.h"
#include "bsp.h"
#include "mobl_app.h"
#include "usbh_usr.h"
// clang-format on

/************************************Private Macros********************************/
// #define


/**********************************Private Statement*******************************/

/**
 * @brief 主任务
 * @param  pvParam
 * @note null
 */
void TaskMain(void *pvParam);

/***********************************Public Variables*******************************/



/**********************************Private Variables*******************************/



/**********************************Public Functions********************************/

int main(void) {
    nvic_vector_table_set(MO_APP_INSTALL_ADDR, 0); // 设置中断向量表地址
    NVIC_SetPriorityGrouping(3u);                  // 分组4 4bit抢占
    __enable_irq();
    systick_config();
    xTaskCreate(TaskMain, "Main", 256, NULL, 5, NULL);
    vTaskStartScheduler();
    for (;;) {
        // 不应该到这里
    }
    return 0;
}
/**
 * @brief 主任务
 * @param  pvParam
 * @note null
 */
void TaskMain(void *pvParam) {
    bsp_gpio_init();
    bsp_i2c_bus_init();
    bsp_i2c_dev_init();
    bsp_pwm_init();
    bsp_exti_init();
    bsp_adc_init();
    bsp_uart_init();
    
    
    
    xTaskCreate(task_usbfs, "USBFS", 512, NULL, 4, NULL);
    for (;;) {
        vTaskDelay(pdMS_TO_TICKS(1000));
    }
}

/**********************************Private Functions*******************************/


/* [] END OF FILE */
